<?php
// 改行を削除する
class csvHelper extends AppHelper {

	var $_pattern = array("\r\n" => "\s", '"' => "'");

	function csv($str) {
		return $this->_strRep($str, $_pattern );
	}

	/**
	 * $Headersを再構築して dc_type_id を取得する
	 *
	 * @param  (arr) $Headers
	 * @return (arr) $dc_type_id
	 */
	function visible( $Headers ) {
		if ( empty($Headers) ) return false;

		// 配列の再構築
		foreach( $Headers as $key => $value ) {
			$dc_type_id[] = $key;
		}

		return $dc_type_id;
	}

	/**
	 * @param  (arr) $id
	 * @param  (arr) $Headers
	 * @param  (arr) $dcvalue
	 * @return (str) $value['text_value']
	 */
	function column( $id, $Headers, $dcvalue ) {
		if ( empty($id) ) return false;
		foreach ( $Headers AS $key => $val ) {
			if ( $id == $key ) {
				return $this->_textval($id, $dcvalue);
				break;
			}
		}
	}

	/**
	 * @param  (arr) $id
	 * @param  (arr) $dcvalue
	 * @return (str) $value['text_value']
	 */
	function _textval( $id, $dcvalue ) {
		foreach( $dcvalue as $key => $value ) {
			if ( empty($value['dc_type_id']) ) continue;
			if ( $value['dc_type_id'] != $id ) continue;
			return $value['text_value'];
			break;
		}
	}

	/**
	 * 文字列置換関数
	 *
	 * @param  (string) $str    : 置換文字列
	 * @param  (array)  $target : 置換パターン ex : "置換対象=>置換文字"の連想配列
	 * @return (string) true    : 置換済み文字列  false : false
	 */
	function _strRep( $str, $target ) {
		if ( is_array( $target ) && !empty( $target ) ) {
			foreach ( $target AS $key => $val ) {
				$str = preg_replace("/{$key}/",$val, $str );
			}
		}
		return $str;
	}
}
?>